package pres.wchen.bussiness.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import pres.wchen.bussiness.cor.model.BaseModel;
import pres.wchen.bussiness.cor.util.MapValueUtil;

import java.util.List;
import java.util.Map;

/**
 * @作者： wchen
 * @描述：
 * @创建时间： 2018/1/11 11:07
 * @版本：Copyright 2018, Inc. All Rights Reserved.
 * @修改信息：
 */
public abstract class BaseService {
    private static final int DEFAULT_PAGE_SIZE = 10;
    private static final int DEFAULT_PAGE_NUM = 0;

    /**
     *
     * @描述： 设置分页
     * @名称： pagingList
     * @入参： [map]
     * @出参： void
     * @修改信息： 创建：wchen 2018/1/11
     */
    public void pagingList(Map map){
        MapValueUtil mapValueUtil = MapValueUtil.newInstance(map);
        if(mapValueUtil.getValue("pageFlag") != null && !mapValueUtil.getBooleanValue("pageFlag")){
            return;
        }
        int pageSize = mapValueUtil.getValue("pageSize") == null ? DEFAULT_PAGE_SIZE : mapValueUtil.getIntegerValue("pageSize");
        int pageNo = mapValueUtil.getValue("pageNo") == null ? DEFAULT_PAGE_NUM : mapValueUtil.getIntegerValue("pageNo");
        System.out.println("------------pageNo is " + pageNo + ", pageSize is " + pageSize + "-----------------");
        PageHelper.startPage(pageNo, pageSize);
    }


    /**
     *  @描述: 返回处理后的分页数据
     *  @参数： [list]
     *  @返回值： pres.wchen.oa.cor.shiro.model.BaseModel
     *  @创建人: wchen
     *  @创建时间: 2018/1/13
     *  @修改人和其它信息:
     */
    public BaseModel doPagingResult(List list){

        BaseModel baseModel = new BaseModel();
        baseModel.setList(list);
        PageInfo pageInfo = new PageInfo(list);
        pageInfo.getPageSize();
        baseModel.setNowPageNo(pageInfo.getPageNum());
        baseModel.setPageSize(pageInfo.getPageSize());
        baseModel.setTotalPageSize(pageInfo.getTotal());
        baseModel.setTotalPageNo(pageInfo.getPages());
        return baseModel;
    }


}
